# -------------------------------------------------------------------------------------------------
# Copyright 2024 Kearn Chen, kearn.chen@aliyun.com
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# 
#     http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# -------------------------------------------------------------------------------------------------

PREFIX := riscv-none-embed-

LINKER := link.ld

OBJECT += instr_smoke.o

CFLAGS := -march=rv32e -mabi=ilp32e 

LFLAGS := -march=rv32e -mabi=ilp32e -T$(LINKER) -nostartfiles -nostdlib

TARGET := $(notdir $(shell pwd))

all : $(TARGET).asm $(TARGET).bin

%.bin : %.elf
	$(PREFIX)objcopy -Obinary $< $@

%.asm : %.elf
	$(PREFIX)objdump -D $< > $@

%.elf : $(OBJECT)
	$(PREFIX)gcc $(LFLAGS) -o $@ $^

%.o : %.S
	$(PREFIX)gcc $(CFLAGS) -c -o $@ $<

clean :
	@rm -rf *.o *.elf *.asm *.bin

.PHONY: clean all

.SECONDARY:
